package cn.wen.forum.common.util;

import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;

/**
 * @ClassName DateUtils
 * @Author By wen
 * @Description
 * @Date 2023/8/14 17:28
 * @Version 1.0
 */
public class DateUtils {

    /**
     * 判断时间是否是今天
     * @param date
     * @return
     */
    public static boolean isNowDay(Date date) {
        if(StringUtils.isNull(date)){
            return false;
        }
        LocalDate today = LocalDate.now();
        Instant instant = date.toInstant();
        ZoneId zoneId = ZoneId.systemDefault();
        // atZone()方法返回在指定时区从此Instant生成的ZonedDateTime。
        LocalDate localDate = instant.atZone(zoneId).toLocalDate();
        if (today.isEqual(localDate)) {
            return true;
        } else{
            return false;
        }
    }

    /**
     * 字符串转日期
     * @param dateStr
     * @return
     */
    public static Date parseToDate(String dateStr) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            return dateFormat.parse(dateStr);
        } catch (Exception e) {
            return new Date();
        }
    }

    /**
     * 日期转字符串
     * @param date
     * @return
     */
    public static String parseToDateStr(Date date) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            return dateFormat.format(date);
        } catch (Exception e) {
            return dateFormat.format(new Date());
        }
    }
}
